package com.globalresources.dao.inface;


import java.util.List;

import com.globalresources.po.Message;
import com.trg.dao.dao.standard.GenericDAO;

/**
 * @author aaron.lu(luzhiyuan) E-mail:atyuan.lu@gmail.com
 * @since 创建时间：Aug 7, 2009 2:52:26 PM
 */
public interface IMessageDao extends GenericDAO<Message, Integer>{
	
	/**
	 * <p>查询消息实体
	*@author aaron.lu(luzhiyuan)
	*@param username
	*@param isDelete
	*@param pagesize
	*@param startrow
	*@return
	 */
	public List<Message> getMessages(String username, Byte isDelete, int pagesize, int startrow);
	
	/**
	 * <p>查询消息总纪录数
	*@author aaron.lu(luzhiyuan)
	*@param username
	*@param isDelete
	*@return
	 */
	public int countMessages(String username, Byte isDelete);
	
	/**
	 * <p>更新消息实体
	*@author songduanlei@gmail.com
	*@param Object Mesage
	*@return
	 */
	public void saveOrUpdateMessage(Message message);
	
	/**
	 * <p>通过ID删除Message
	*@author songduanlei@gmail.com
	*@param Integer id
	*@return
	 */
	public void deleteMessageById(Integer id);
	
	/**
	 * <p>查询消息实体，得到匹配后的消息。
	*@author liming.yu(yulm88@gmail.com)
	*@param keyWord 在tile和content中匹配的字符串
	*@param username
	*@param isDelete
	*@param pagesize
	*@param startrow
	*@return
	 */
	public List<Message> getMatchingMessages(String keyWord,String username, Byte isDelete, int pagesize, int startrow);
	
	/**
	 * <p>匹配查询关键字,得到匹配后的总记录数
	 * @author liming.yu（yulm88@gmail.com）
	 * @param keyWord  在tile和content中匹配的字符串
	 * @param username  邮件的发送者
	 * @param isDelete
	 */
	public int countMatchingMessages(String keyWord,String username, Byte isDelete);

}
